<?xml version="1.0" encoding="UTF-8"?>
<!--
To change this template, choose Tools | Templates
and open the template in the editor.
-->
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:p="http://primefaces.org/ui">
    <head>
        <title>TODO supply a title</title>
    </head>
    <body>
    <p:layout fullPage="true">
        <p:layoutUnit position="west" size="200" 
                      header="Menu" resizable="true" closable="true" collapsible="true">
            <h:outputLink value="#{facesContext.externalContext.requestContextPath}/j_spring_security_logout">
                <h:outputText value="Sair"/>
            </h:outputLink>
        </p:layoutUnit>

        <p:layoutUnit position="center" resizable="true">
            <p:toolbar id="tlbAcoes">
                <p:toolbarGroup align="left">
                    <h:form prependId="false" id="frmToolbar" >
                        <p:commandButton 
                            value="Novo" 
                            actionListener="#{clienteControle.prepararAdicionarCliente}" 
                            update="infosCliente" 
                            oncomplete="dialogGerCliente.show()"
                            image="ui-icon-document"/>
                        <p:commandButton 
                            actionListener="#{clienteControle.prepararAlterarCliente}" 
                            value="Alterar" 
                            update="infosCliente" 
                            oncomplete="dialogGerCliente.show()"
                            image="ui-icon-pencil"
                            disabled="#{!clienteControle.selected}"/>
                        <p:commandButton 
                            actionListener="#{clienteControle.prepararExcluirCliente}" 
                            value="Excluir"
                            oncomplete="confirmarExcluir.show();"
                            image="ui-icon-trash"
                            disabled="#{!clienteControle.selected}"/>   
                    </h:form>
                </p:toolbarGroup>
            </p:toolbar>
            <h:form prependId="false" id="form" >    
                <p:dataTable id="tabela" 
                             var="cliente" 
                             value="#{clienteControle.listaClientes}"
                             rowKey="#{cliente.cliente}"
                             paginator="true" rows="15" sortBy="#{cliente.codigo}"
                             paginatorTemplate="{RowsPerPageDropdown} {FirstPageLink} {PreviousPageLink} {CurrentPageReport} {NextPageLink} {LastPageLink}"
                             rowsPerPageTemplate="5,10,15,20" selectionMode="single" pageLinks="10" emptyMessage="Nenhum registro encontrado" dblClickSelect="false"
                             selection="#{clienteControle.cliente}">

                    <p:column style="width: 10%" sortBy="#{cliente.codigo}" filterBy="#{cliente.codigo}">
                        <f:facet name="header"><h:outputText value="Código"/></f:facet>
                        <h:outputText value="#{cliente.codigo}"/>
                    </p:column>

                    <p:column sortBy="#{cliente.nomeFantasia}" filterBy="#{cliente.nomeFantasia}" style="width: 40%">
                        <f:facet name="header"><h:outputText value="Nome Fantasia"/></f:facet>
                        <h:outputText value="#{cliente.nomeFantasia}"/>
                    </p:column>

                    <p:column sortBy="#{cliente.cpf}" filterBy="#{cliente.cpf}" style="width: 15%">
                        <f:facet name="header"><h:outputText value="CPF"/></f:facet>
                        <h:outputText value="#{cliente.cpf}"/>
                    </p:column>

                    <p:column sortBy="#{cliente.cnpj}"  filterBy="#{cliente.cnpj}" style="width: 15%">
                        <f:facet name="header"><h:outputText value="CNPJ"/></f:facet>
                        <h:outputText value="#{cliente.cnpj}"/>
                    </p:column>

                    <p:column sortBy="#{cliente.email}" filterBy="#{cliente.email}" style="width: 20%">
                        <f:facet name="header"><h:outputText value="Email"/></f:facet>
                        <h:outputText value="#{cliente.email}"/>
                    </p:column>
                    <f:facet name="footer">
                        <h:outputText style="text-align:left;" value="Usuário logado: [#{usuarioControle.usuario.perfilusuario.nome}]
                                      #{usuarioControle.usuario.login} - 
                                      #{usuarioControle.usuario.nome}">
                        </h:outputText>
                    </f:facet>
                </p:dataTable>
            </h:form>    

        </p:layoutUnit>
    </p:layout>

    <h:form prependId="false" id="dlg">
        <p:confirmDialog widgetVar="confirmationExcluir"
                         header="Aviso"
                         message="Deseja realmente excluir este registro?"
                         severity="alert">
            <p:commandButton value="Sim" update="tabela"
                             actionListener="#{clienteControle.excluirCliente}" 
                             oncomplete="confirmationExcluir.hide()"
                             process="@form"/>
            <p:commandButton value="Não"  
                             onclick="confirmationExcluir.hide()"
                             type="button"/>
        </p:confirmDialog>
    </h:form>

    <h:form prependId="false" id="frmFicha"> 
        <p:dialog resizable="false" 
                  widgetVar="dialogGerCliente" 
                  header="Browser de Clientes" 
                  showEffect="slide" 
                  hideEffect="explode" 
                  modal="true" 
                  width="500">
            <h:panelGrid columns="2" id="infosCliente" style="margin-bottom: 10px">
                <h:outputLabel for="codigo" value="Código"/>
                <h:inputText id="codigo" value="#{clienteControle.cliente.codigo}"/>

                <h:outputLabel for="razaoSocial" value="Razão Social"/>
                <h:inputText id="razaoSocial" value="#{clienteControle.cliente.razaoSocial}"/>

                <h:outputLabel for="nomeFantasia" value="Nome Fantasia"/>
                <h:inputText id="nomeFantasia" value="#{clienteControle.cliente.nomeFantasia}"/>

                <h:outputLabel for="cpf" value="CPF"/>
                <h:inputText id="cpf" value="#{clienteControle.cliente.cpf}"/>

                <h:outputLabel for="cnpj" value="CNPJ"/>
                <h:inputText id="cnpj" value="#{clienteControle.cliente.cnpj}"/>

                <h:outputLabel for="inscricaoMunicipal" value="Inscrição Municipal"/>
                <h:inputText id="inscricaoMunicipal" value="#{clienteControle.cliente.inscricaoMunicipal}"/>

                <h:outputLabel for="inscricaoEstadual" value="Inscrição Estadual"/>
                <h:inputText id="inscricaoEstadual" value="#{clienteControle.cliente.inscricaoEstadual}"/>

                <h:outputLabel for="email" value="E-mail"/>
                <h:inputText id="email" value="#{clienteControle.cliente.email}"/>

                <h:outputLabel for="site" value="Site"/>
                <h:inputText id="site" value="#{clienteControle.cliente.site}"/>


                <p:commandButton value="Salvar" update="tabela"
                                 actionListener="#{clienteControle.adicionarCliente}"
                                 oncomplete="dialogGerCliente.hide()"
                                 image="ui-icon-disk" 
                                 rendered="#{clienteControle.incluindo}"/>
                <p:commandButton value="Salvar" update="tabela"
                                 actionListener="#{clienteControle.alterarCliente}" 
                                 oncomplete="dialogGerCliente.hide()"
                                 image="ui-icon-disk" rendered="#{!clienteControle.incluindo}"/>
                <p:commandButton value="Cancelar" onclick="dialogGerCliente.hide()"
                                 image="ui-icon-cancel"/>
            </h:panelGrid>
        </p:dialog>
    </h:form>
</body>
</html>
